package edu.spex.yjl.week08.class2;
//定义一个北极熊类Bear，继承1）中定义的Animal类，实现2）中IAnimal接口。

//让北极熊类实现冬眠接口，
public class Bear extends Animal implements IAnimal,IHibernate{
    private String hibernation; // 增加北极熊的属性——冬眠，定义冬眠时间

    public Bear() {
        super();
    }

    public Bear(String name, String food, String area,String hibernation) {
        super(name, food, area);
        this.hibernation=hibernation;
    }

    //  注意：继承抽象类，就要实现抽象类中的方法，实现接口就要实现接口的全部方法。
    @Override
    public String findFood() {
        return this.getName()+"findFood";
    }

    @Override
    //wholeLife方法要求依次运行born、findFood、eat、old、sick、die，返回运行结果。
    public String wholeLife() {
        return this.born()+"\n"+this.findFood()+"\n"+this.eat()+"\n"+this.old()+"\n"+this.sick()+"\n"+this.die()+"\n";
    }

    @Override
    public String born() {
        return this.getName()+"born";
    }
    @Override
    public String old() {
        return this.getName()+"old";
    }
    @Override
    public String sick() {
        return this.getName()+"sick";
    }

    @Override
    public String die() {
        return this.getName()+"die";
    }

    @Override
    //在其实现里返回值比如“name冬眠3个月”，name替换成相应的变量值。
    public String hibernate() {
        return this.getName()+"冬眠3个月";
    }
}
